module ApplicationHelper

 	def translate_field word
		hash = {
			'cpf' => 'CPF',
			'ies' => 'IES',
			'name' => 'nome',
			'sex' => 'sexo',
			'address' => 'endereço',
			'city'  => 'cidade',
			'neighborhood' => 'bairro',
			'description' => 'resumo',
			'title' => 'título',
			'lodge' => 'alojamento',
			'password' => 'senha',
            'password_confirmation' => 'confirmação de senha',
            'authors' => "autores"
		}

		hash[word] || word
	end

  def get_message msg, attribute

    hash = {
      'missing' => missing,
      'unique'  => unique,
      'length'  => length,
      'format'  => format,
      'long'    => long,
      'full'		=> full,
      'max'    => max,
      'min'    => min
    }

    hash[msg] || msg

  end


  def missing
      "deve ser preenchido(a)."
  end

  def unique
      "já está cadastrada(o)."
  end

  def length
      "foi dado(a) com tamanho errado."
  end

  def format
      "está num formato errado."
  end

  def max
      "entrada(o) é muito longa(o)."
  end

	def full
			"está com as vagas esgotadas."
	end

  def min
      "entrada(o) é muito curta(o)."
  end

  def long
      "entrada(o) é muito longa(o)."
  end


	def error_messages_for(object_name, options = {})
		 options = options.symbolize_keys
		 object = instance_variable_get("@#{object_name}")
		 unless object.errors.empty?
			 items = []

			 object.errors.each do |attribute, message|
			 	items << content_tag("li", translate_field(attribute).capitalize + " " +get_message(message,attribute))

		 	 end

			 content_tag("div",
			 content_tag(
			 options[:header_tag] || "h3",
			 "Corrija os seguintes erros no formulário."
			 ) +
			 #content_tag("p", "Os seguintes campos apresentaram problemas:") +
			 content_tag("ul", items.join("")),
			 "id" => options[:id] || "errorExplanation", "class" => options[:class] || "errorExplanation"
			 )
		 end
	end


end

